Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Двовимірні побудови з використанням OpenGL

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Моделювання

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національний університет «Львівська політехніка» Кафедра САПР Звіт Про виконання лабораторної роботи №4 на тему: Двовимірні побудови з використанням OpenGL на платформі Java Micro Edition З курсу: «Геометричне моделювання в конструюванні інженерних об‘єктів та систем» Мета роботи Ознайомитися та практично освоїти можливості графінної бібліотеки OpenGL для робот из графікою на низькому рівні. Набути навичок програмування графіки для пристроїв з обмеженими ресурсами з платформою Java Micro Edition. Короткі теоретичні відомості OPENGL ES є мобільною підмножиною OPENGL , вони обидва розширювані, стандартизовані та cross-платформенні 3D API. Пакет JSR 239 включає OPENGL ES, і є необов'язковим. Він може працювати на ряду платформ Java Micro Edition (Java ME), включаючи CLDC 1.1/MIDP 2.0, CDC 1.0/Personal Basis Profile, та CDC 1.0/Personal Profile, також і зворотньо сумісних версіях цих платформ. OPENGL ES і EGL API визначені Khronos Group (www.khronos.org). OPENGL ES визначає два профілі: Common профіль (КПК, смартфони ітд) і Common-Lite профіль (для пристроїв з обмеженими ресурсами, типу мобільних телефонів). Common-Lite профіль - 32-бітний з фіксованою крапкою, тоді як Common профіль підтримує плаваючу крапку. JSR 239 вимагає основний рідний графічний прискорювач, сертифікований Khronos, для комфортної роботи з OPENGL ES і EGL API. Цей прискорювач повинен підтримувати версію 1.0 OPENGL ES і EGL і всі основні розширення пов‘язані з ними API. Індивідуальне завдання Варіант №19 / Текст програми class HexaMidlet – головний клас мідлета import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class HexaMidlet extends MIDlet implements CommandListener { private final Command exitCommand = new Command("Exit", Command.EXIT, 1); Display display; HexagonCanvas canvas; boolean started = false; boolean paused = false; boolean finished = false; Thread drawThread; public HexaMidlet() { this.display = Display.getDisplay(this); this.canvas = new HexagonCanvas(this); this.canvas.setCommandListener(this); this.canvas.addCommand(exitCommand); } public void startApp() { if (!started) { started = true; display.setCurrent(canvas); drawThread = new Thread(canvas); drawThread.start(); } paused = finished = false; } public void pauseApp() { paused = true; } public void destroyApp(boolean unconditional) { // Wait for draw thread to die setFinished(); try { drawThread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } public void commandAction(Command cmd, Displayable disp) { if (cmd == exitCommand) { destroyApp(false); notifyDestroyed(); } } public synchronized boolean isFinished() { return finished; } public synchronized void setFinished() { finished = true; } } HexagonCanvas – полотно для графіки import java.nio.*; import javax.microedition.khronos.egl.*; import javax.microedition.khronos.opengles.*; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.game.GameCanvas; public class HexagonCanvas extends GameCanvas implements Runnable { private static byte l = 20;//radiys private static float alfa = (float) (15 * Math.PI / 180);//angle private static float speed = 3;//start speed private static float acceleration = 9.8f; private static float s = 2*l; // s < 4*l !!! way ahead private static float h = (float) (l * Math.sin(Math.PI / 3)); private static float d = (float) (l * 0.5); private static...
Антиботан аватар за замовчуванням

02.10.2020 20:10

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини